home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr11 / rrhelp.zip / RRMAST.TCH
Text File  |  1993-06-17  |  11KB  |  303 lines

  1. To:   ALL                      
  2. From: KENTON HENSLEY           
  3. Subj: UPDTE FLD IN FIL DUR ENTR
  4. Conf: ZACHARY 5 (2)                 Msg # 1515   
  5. Date: 05/18/92                      (PUBLIC)
  6.  
  7. To Barbara Dunn or anyone: 
  8.  
  9. I'm using R&R and want to give the user a choice of destination for the 
  10. report they are going to print.  I have defined a B-type PROC with 
  11. a screen that provides access to the R&R RRUNIN.DBF for the report name 
  12. (RI_REPORT) and the printer destination field (RI_PRINTER).  RI_PRINTER 
  13. is defined as an O-type.  The last field in the procedure is a U-type 
  14. field that calls my function which calls R&R. 
  15.  
  16. The difficulty is that after the user picks a destination for the 
  17. report (1,2 or D for Display) the RRUNIN.DBF must be updated 
  18. immediately.  How is this done?  I've tried adding a line to the U-type 
  19. field: 
  20.  
  21. _FIELD->RI_PRINTER:=mri_printer or 
  22. RRUNIN->RI_PRINTER:=mri_printer 
  23.  
  24. - neither of these works and I've phutsed(?) with some frustration with 
  25. several other ideas.  What do I do? 
  26.  
  27. Thanks for any help, 
  28. Kenton 
  29.  
  30.  
  31.  
  32.  
  33. ▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀ 
  34.  
  35. To:   KENTON HENSLEY           
  36. From: BOB STEWART              
  37. Subj: UPDTE FLD IN FIL DUR ENTR
  38. Conf: ZACHARY 5 (2)                 Msg # 1519   
  39. Date: 05/18/92                      (PUBLIC)
  40.  
  41. Kenton, 
  42.  
  43.    Call a "U" type field after you do the pop-up.  Use the RRUNIN.dbf
  44. and replace the value of RI_PRINTER with the value. 
  45.  
  46.    I normally use a single record database to do the work for me.  I
  47. save any report filter parameters and the printer destination. 
  48. Remember, if it is on a network use the file in exclusive mode. 
  49.  
  50. The following is the code extract from one of my "U" type fields: 
  51.  
  52. save screen 
  53. select 2 
  54. use PRTINVD exclusive 
  55. select 1 
  56. use RRUNIN exclusive 
  57. go 13 
  58. replace RI_QUERY with "O" 
  59. replace RI_PRINTER with PRTINVD->printer 
  60. replace RI_FILTER with "dtoc(SALEORD->ShipDate) >= '" + 
  61.     dtoc(PRTINVD->SDate) + "' .and. dtoc(SALEORD->ShipDate) <= '" +
  62.     dtoc(PRTINVD->EDate) + "'"
  63. close databases 
  64. run rruntime rrunin 13 
  65. restore screen 
  66.  
  67. Before you close the databases you can reset the values in the PRTINVD 
  68. file so you can reprint the same range over again. 
  69.  
  70.  
  71.    Hope that this is a help.
  72.  
  73. Bob 
  74.  
  75.  
  76. ▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀ 
  77.  
  78. To:   KENTON HENSLEY           
  79. From: ART VANHECKE             
  80. Subj: UPDTE FLD IN FIL DUR ENTR
  81. Conf: ZACHARY 5 (2)                 Msg # 1521   
  82. Date: 05/18/92                      (PUBLIC)
  83.  
  84. >is defined as an O-type.  The last field in the procedure is a U-type 
  85. >field that calls my function which calls R&R. 
  86. >The difficulty is that after the user picks a destination for the 
  87. >report (1,2 or D for Display) the RRUNIN.DBF must be updated 
  88. >immediately.  How is this done?  I've tried adding a line to the U-ty 
  89.  
  90. Kenton, 
  91.  
  92. I think you have the right idea, but your timing is off.  Leave the 
  93. b-type alone, it seems to be working ok. 
  94.  
  95. Change the execution point of the u-type field that calls R&R to EX, 
  96. that's AFTER EXITING the procedure. 
  97.  
  98. The idea of accessing the RRUNIN.dbf file with the B-type is good.  In 
  99. addition to allowing you to change the file easily, it will also 
  100. protect the program if someone inadvertantly deletes the RRUNIN.dbf 
  101. (Zach will recreate the deleted file).  I wouldn't say it if it hadn't 
  102. happened. 
  103.  
  104. --Art 
  105.  
  106.  
  107. ▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀ 
  108.  
  109.  
  110. To:   DICK BERTI               
  111. From: RICHARD HAMILTON         
  112. Subj: ZACHARY SPEAKS PROBS     
  113. Conf: MAIN BOARD (0)                Msg # 3841   
  114. Date: 04/30/92                      (PUBLIC)
  115.  
  116. We've found the R&R system, with RRUNIN.DBF defined in Zach, works 
  117. great because you can then do the reports with an E-procedure and look 
  118. up things like the report name from the RRUNIN via a standard Zach file 
  119. validation. 
  120.  
  121. Hide the RRUNIN itself from the user by making it a rather elusive hot 
  122. key (like ALT-F5) and if you want more protection add either a complete 
  123. security system or a little tiny one known only to you, such as a 
  124. condition for access: 
  125.  
  126. if(zget(23,2,'    ','Enter Password','@!')='RHOK',.t., 
  127. zerrorbeep('Invalid Password')) 
  128.  
  129. (This, of course, is all typed on one line in the Condition for Access 
  130. field.) 
  131.  
  132. This worked very well for us, although the password is hard-coded 
  133. (RHOK), but if someone really wants to get in and screw things up I'm 
  134. sure they could anyway, what with dBase and all. 
  135.  
  136. Richard 
  137.  
  138.  
  139. ▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀ 
  140.  
  141. To:   DICK BERTI               
  142. From: ART VANHECKE             
  143. Subj: ZACHARY SPEAKS PROBS     
  144. Conf: MAIN BOARD (0)                Msg # 3968   
  145. Date: 05/04/92                      (PUBLIC)
  146.  
  147. Dick, 
  148.  
  149. I have always used R&R as my report writer for Zach.  I generally use 
  150. the same format as you, but I usually let the user do as many reports 
  151. as he wants and then let R&R do all the reports at once. 
  152.  
  153. I don't know if you use Blinker 2.0 or not but there is a new function 
  154. that does the same thing as RRUNTIME.exe.  This function is called 
  155. SWPRUNCMD() and is faster than RRUNTIME. 
  156.  
  157. Instead of     RUN RRUNTIME RRUNIN 
  158. You could use  SWPRUNCMD("RRUNTIME RRUNIN",0,"","") 
  159. which would work OK but would cause redundant swapping; 
  160. I use          SWPRUNCMD("RRUN RRUNIN",0,"","") 
  161. which brings in R&R a lot faster than RRUNTIME. 
  162.  
  163. Just thought you would like to know. 
  164.  
  165. --Art 
  166.  
  167.  
  168. ▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀ 
  169.  
  170. To:   DENNIS COURTNEY          
  171. From: RICHARD HAMILTON         
  172. Subj: R&R CG FUNC. & GENERAL   
  173. Conf: ZACHARY 5 (2)                 Msg # 1533   
  174. Date: 05/20/92                      (PUBLIC)
  175.  
  176. Dennis, 
  177.  
  178. A couple of things you should know regarding R&R... 
  179.  
  180. 1. Don't call runtime with the RRUNTIME call if you're using 
  181. Overlay(). Use RRUN instead, same parameters. 
  182.  
  183. 2. R&R recreates the database by writing the selected data out to 
  184. file, then prints from that data. Disk caching software will speed 
  185. that process up considerably. 
  186.  
  187. Richard 
  188.  
  189.  
  190. ▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀ 
  191.  
  192. To:   DICK BERTI               
  193. From: RICHARD HAMILTON         
  194. Subj: ZACHARY SPEAKS PROBS     
  195. Conf: MAIN BOARD (0)                Msg # 4035   
  196. Date: 05/06/92                      (PRIVATE)
  197.  
  198. Dick, 
  199.  
  200. Implementing a complete R&R interface in a Zachary Application: 
  201.  
  202. 1. Create a B-type option and import the field structures from the 
  203. RRUNIN file. I generally make this a hot key procedure rather than 
  204. a menu option so it's available only by the secret hot-key. Here you 
  205. can directly edit RRUNIN fields as desired, set up new reports, and 
  206. (most important) teach Zach what the RRUNIN file is! 
  207.  
  208. 2. Create an E-option from which to run reports. Use a field for 
  209. report name and use File Validation into the RRUNIN file to select the 
  210. desired report name. 
  211.  
  212. 3. Put an extra field in the RRUNIN file in which you can code the 
  213. desired parameter edits for a particular report (This keeps the system 
  214. flexible). For example, a field named UPDATES could carry codes like: 
  215.    INVDATE -- Indicating an edit to the scope specs for Invoice date.
  216.    CUST -- Indicating that you will select the customer for the
  217.    report.
  218.    or, INVDATE/CUST would indicate you would check both!
  219.  
  220. 4. Set up the necessary fields in the E-procedure to get user input 
  221. for the job specs, Use standard Zachary validations, File validation, 
  222. etc., to get data input right. Use Condition For Access to limit edits 
  223. to the appropriate fields ("INVDATE"$RRUNIN->UPDATES). Remember to get 
  224. the printer spec... you can use a Zachary O-type for this. (And if you 
  225. allow writing to a file, get the file name.) 
  226.  
  227. 5. Set up additional fields to take the user input and re-form it to 
  228. the character strings you want to replace into the RRUNIN file. 
  229. Specify updates to RRUNIN. 
  230.  
  231. 6. Write a user field to be executed AFTER UPDATE that will make the 
  232. call to R&R Runtime, like you normally would. I always use Greg 
  233. Martin's OVERLAY() library to maximize memory available. Remember 
  234. you'll need to save and restore the screen. 
  235.  
  236. I've used this technique a number of times in applications and it 
  237. works great... it's especially nice for situations when you go back 
  238. into the field to add or edit a report, provided you have the proper 
  239. edits available. I've even had occasion to add RRUNIN fields for 
  240. listing code blocks with functions to run before and after the R&R 
  241. call. You can do almost anything then, provided you linked in adequate 
  242. functions! 
  243.  
  244. We've found the R&R system, with RRUNIN.DBF defined in Zach, works 
  245. great because you can then do the reports with an E-procedure and look 
  246. up things like the report name from the RRUNIN via a standard Zach 
  247. file validation. 
  248.  
  249. Hide the RRUNIN itself from the user by making it a rather elusive hot 
  250. key (like ALT-F5) and if you want more protection add either a 
  251. complete security system or a little tiny one known only to you, such 
  252. as a condition for access: 
  253.  
  254. if(zget(23,2,'    ','Enter Password','@!')='RHOK',.t., 
  255. zerrorbeep('Invalid Password')) 
  256.  
  257. (This, of course, is all typed on one line in the Condition for Access 
  258. field.) 
  259.  
  260. This worked very well for us, although the password is hard-coded 
  261. (RHOK), but if someone really wants to get in and screw things up I'm 
  262. sure they could anyway, what with dBase and all. 
  263.  
  264. Richard 
  265.  
  266.  
  267. ▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀ 
  268.  
  269. To save your screens from death upon return from an R&R report
  270. called from a U_type field, use the following format in the U-type
  271. field:
  272.  
  273. save screen
  274.  
  275. <call the R&R report>
  276.  
  277. restore screen
  278.  
  279.  
  280.  
  281.  
  282. To:   LEN DOZOIS               
  283. From: STEPHEN REED             
  284. Subj: ZACH 2 WISH              
  285. Conf: MAIN BOARD (0)                Msg # 7243   
  286. Date: 09/10/92                      (PUBLIC)
  287.  
  288. A suggestion for zach 2, would it be possible to be able to use special 
  289. indexes through RDD such as the new one from nantucket. 
  290. I am currently using the E procedure to create a temporary file which I 
  291. than send to RR to print.  If I could just define a sub index for RR it 
  292. would be MUCH faster and my customer would not be nearly SO UNHAPPY. 
  293.  
  294. Also for your information I recently installed a Summer 87 application 
  295. on my first Novell Lite Installation.  Had some very strange problems 
  296. having to do with looking at a data base file.  Finally changed to 
  297. Lantastic Ethernet Installation and the problems went away.  Beware of 
  298. Novell Lite and Clipper Applications!!! 
  299.  
  300.  
  301. ▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀ 
  302.